package navalgo3.Modelo;

import java.util.ArrayList;

public class Juego extends java.util.Observable {
	private Jugador unJugador = new Jugador();
	private Tablero unTablero = new Tablero();
	
	public void pasarTurno(){
		try{
			this.unJugador.pasarTurno(unTablero);
			ActualizarObservadores();
		}
		catch (PuntosInsuficientesException e) {
			//mostrar mensaje de puntos insuficientes
		}
	}

	public ArrayList<Nave> getNaves() {
		return (this.unTablero.getNaves());
	}

	public void colocarNave(Nave unaNave) {
		this.unTablero.colocarNave(unaNave);
		ActualizarObservadores();
	}
	
	public boolean juegoTerminado(){
		return ( (!unTablero.hayNaves()) || (!unJugador.tienePuntos()) );
	}
	
	public void ActualizarObservadores()
	{
		setChanged();
		notifyObservers();		
	}
}